import Cookies from 'js-cookie'

const TokenKey = 'Admin-Token'

// 只在模块加载时清除一次localStorage中的token，避免每次获取token都清除
localStorage.removeItem(TokenKey);

export function getToken() {
  // 只从cookie中获取token，不检查其他存储
  return Cookies.get(TokenKey)
}

export function setToken(token) {
  // 使用会话cookie存储token，不设置过期时间
  // 这样新窗口打开时没有token（因为会话cookie是窗口隔离的）
  // 而在当前窗口刷新时token仍然有效
  localStorage.removeItem(TokenKey); // 确保不从localStorage恢复
  return Cookies.set(TokenKey, token, { path: '/', secure: false })
}

export function removeToken() {
  localStorage.removeItem(TokenKey);
  return Cookies.remove(TokenKey, { path: '/' })
}
